|
The Blinn–Phong reflection model (also called the modified Phong reflection model) is a modification to the Phong reflection model developed by Jim Blinn. Blinn–Phong is the default shading model used in OpenGL and Direct3D's fixed-function pipeline (before Direct3D 10 and OpenGL 3.1), and is carried out on each vertex as it passes down the graphics pipeline; pixel values between vertices are interpolated by Gouraud shading by default, rather than the more computationally-expensive Phong shading. ==Description== In Phong shading, one must continually recalculate the dot product between a viewer (''V'') and the beam from a light-source (''L'') reflected (''R'') on a surface. If, instead, one calculates a ''halfway vector'' between the viewer and light-source vectors, : we can replace with , where is the normalized surface normal. In the above equation, and are both normalized vectors, and is a solution to the equation where is the Householder matrix that reflects a point in the hyperplane that contains the origin and has the normal This dot product represents the cosine of an angle that is half of the angle represented by Phong's dot product if ''V'', ''L'', ''N'' and ''R'' all lie in the same plane. This relation between the angles remains approximately true when the vectors don't lie in the same plane, especially when the angles are small. The angle between ''N'' and ''H'' is therefore sometimes called the halfway angle. Considering that the angle between the halfway vector and the surface normal is likely to be smaller than the angle between ''R'' and ''V'' used in Phong's model (unless the surface is viewed from a very steep angle for which it is likely to be larger), and since Phong is using an exponent can be set such that is closer to the former expression. For front-lit surfaces (specular reflections on surfaces facing the viewer), will result in specular highlights that very closely match the corresponding Phong reflections. However, while the Phong reflections are always round for a flat surface, the Blinn–Phong reflections become elliptical when the surface is viewed from a steep angle. This can be compared to the case where the sun is reflected in the sea close to the horizon, or where a far away street light is reflected in wet pavement, where the reflection will always be much more extended vertically than horizontally. Additionally, while it can be seen as an approximation to the Phong model, it produces more accurate models of empirically determined bidirectional reflectance distribution functions than Phong for many types of surfaces. (''See: (Experimental Validation of Analytical BRDF Models, Siggraph 2004 )'') 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Blinn–Phong shading model」の詳細全文を読む スポンサード リンク
|